// 导入CryptoJS库
import CryptoJS from 'crypto-js';

// 使用SHA-256加密方法
export function sha256(data) {
  // 使用CryptoJS的SHA-256算法进行加密
  return CryptoJS.SHA256(data).toString();
}

// 加密函数
export function encrypt(str: any) {
  const key = CryptoJS.enc.Utf8.parse('1234567s'); // 密钥，需要妥善保管
  const iv = CryptoJS.enc.Utf8.parse('12345678kk'); // 初始向量，需要妥善保管
  const cipher = CryptoJS.AES.encrypt(str, key, {
    iv: iv,
    mode: CryptoJS.mode.CBC,
    padding: CryptoJS.pad.Pkcs7,
  });
  return cipher.toString();
}

// 解密函数
export function decrypt(str: any) {
  const key = CryptoJS.enc.Utf8.parse('1234567s'); // 密钥，需要妥善保管
  const iv = CryptoJS.enc.Utf8.parse('12345678kk'); // 初始向量，需要妥善保管
  const decrypted = CryptoJS.AES.decrypt(str, key, {
    iv: iv,
    mode: CryptoJS.mode.CBC,
    padding: CryptoJS.pad.Pkcs7,
  });
  return decrypted.toString(CryptoJS.enc.Utf8);
}
